package cn.xshi.common.base;

import cn.xshi.common.entity.OauthAccountEntity;
import cn.xshi.common.entity.UserInfoEntity;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
 * @Desc 全局SESSION
 * @Author 邓纯杰
 * @CreateTime 2012-12-12 12:12:12
 */
@Data
public class BaseHttpSessionEntity{

	UserInfoEntity userInfoEntity;/**用户实体**/

	OauthAccountEntity oauthAccountEntity;/**账户实体**/

	String oauthAdminSysEntities;/**管理员拥有系统范围**/

	String roleId;/**角色编号**/

	Map<String,String> oauthFunctionInfoUrlMap;/**请求地址**/

	Map<String,String> oauthFunctionInfoMethodMap;/**请求方法**/

	List<String> systemAM;/**数据权限**/

	String sessionId;/**sessionId会话**/

	Long sessionExpire;/**会话有效期**/

	/**
	 *
	 */
	public BaseHttpSessionEntity(){
		
	}

	/**
	 *
	 * @param userInfoEntity
	 */
	public BaseHttpSessionEntity(UserInfoEntity userInfoEntity){
		this.userInfoEntity = userInfoEntity;
	}

	/**
	 *
	 * @param userInfoEntity
	 * @param roleId
	 */
	public BaseHttpSessionEntity(UserInfoEntity userInfoEntity, String roleId){
		this.userInfoEntity = userInfoEntity;
		this.roleId = roleId;
	}

	/**
	 *
	 * @param oauthAccountEntity
	 * @param roleId
	 */
	public BaseHttpSessionEntity(OauthAccountEntity oauthAccountEntity, String roleId){
		this.oauthAccountEntity = oauthAccountEntity;
		this.roleId = roleId;
	}

	/**
	 *
	 * @param userInfoEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 */
	public BaseHttpSessionEntity(UserInfoEntity userInfoEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap){
		this.userInfoEntity = userInfoEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
	}

	/**
	 *
	 * @param oauthAccountEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 */
	public BaseHttpSessionEntity(OauthAccountEntity oauthAccountEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap){
		this.oauthAccountEntity = oauthAccountEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
	}

	/**
	 *
	 * @param userInfoEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 * @param oauthFunctionInfoMethodMap
	 */
	public BaseHttpSessionEntity(UserInfoEntity userInfoEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap, Map<String,String> oauthFunctionInfoMethodMap){
		this.userInfoEntity = userInfoEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
		this.oauthFunctionInfoMethodMap = oauthFunctionInfoMethodMap;
	}

	/**
	 *
	 * @param oauthAccountEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 * @param oauthFunctionInfoMethodMap
	 */
	public BaseHttpSessionEntity(OauthAccountEntity oauthAccountEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap, Map<String,String> oauthFunctionInfoMethodMap){
		this.oauthAccountEntity = oauthAccountEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
		this.oauthFunctionInfoMethodMap = oauthFunctionInfoMethodMap;
	}

	/**
	 *
	 * @param userInfoEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 * @param oauthFunctionInfoMethodMap
	 * @param systemAM
	 */
	public BaseHttpSessionEntity(UserInfoEntity userInfoEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap, Map<String,String> oauthFunctionInfoMethodMap, List<String> systemAM){
		this.userInfoEntity = userInfoEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
		this.oauthFunctionInfoMethodMap = oauthFunctionInfoMethodMap;
		this.systemAM = systemAM;
	}

	/**
	 *
	 * @param oauthAccountEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 * @param oauthFunctionInfoMethodMap
	 * @param systemAM
	 */
	public BaseHttpSessionEntity(OauthAccountEntity oauthAccountEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap, Map<String,String> oauthFunctionInfoMethodMap, List<String> systemAM){
		this.oauthAccountEntity = oauthAccountEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
		this.oauthFunctionInfoMethodMap = oauthFunctionInfoMethodMap;
		this.systemAM = systemAM;
	}

	/**
	 *
	 * @param userInfoEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 * @param oauthFunctionInfoMethodMap
	 * @param systemAM
	 * @param sessionId
	 */
	public BaseHttpSessionEntity(UserInfoEntity userInfoEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap, Map<String,String> oauthFunctionInfoMethodMap, List<String> systemAM, String sessionId){
		userInfoEntity.setSessionId(sessionId);
		this.userInfoEntity = userInfoEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
		this.oauthFunctionInfoMethodMap = oauthFunctionInfoMethodMap;
		this.systemAM = systemAM;
		this.sessionId = sessionId;
	}

	/**
	 *
	 * @param oauthAccountEntity
	 * @param roleId
	 * @param oauthFunctionInfoUrlMap
	 * @param oauthFunctionInfoMethodMap
	 * @param systemAM
	 * @param sessionId
	 * @param oauthAdminSysEntities
	 */
	public BaseHttpSessionEntity(OauthAccountEntity oauthAccountEntity, String roleId, Map<String,String> oauthFunctionInfoUrlMap, Map<String,String> oauthFunctionInfoMethodMap, List<String> systemAM, String sessionId, String oauthAdminSysEntities){
		oauthAccountEntity.setSessionId(sessionId);
		this.oauthAccountEntity = oauthAccountEntity;
		this.roleId = roleId;
		this.oauthFunctionInfoUrlMap = oauthFunctionInfoUrlMap;
		this.oauthFunctionInfoMethodMap = oauthFunctionInfoMethodMap;
		this.systemAM = systemAM;
		this.sessionId = sessionId;
		this.oauthAdminSysEntities = oauthAdminSysEntities;
	}
}
